热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

数据仓库|概述|集群环境搭建

数据仓库DW数据来源:爬虫日志采集系统业务数据财务系统数据去向:报表系统、用户画像推荐系统、机器学习、风控系统项目需求分析①数据采集平台搭建②实现用户行为数据仓库的分层

 

数据仓库DW
数据来源:
爬虫 日志采集系统 业务数据 财务系统

数据去向:
报表系统、用户画像
推荐系统、机器学习、风控系统

项目需求分析

① 数据采集平台搭建
② 实现用户行为数据仓库的分层搭建
③ 实现业务数据仓库的分层搭建
④ 针对数据仓库中的数据进行,留存、转化率、GMV(每天交易额)、复购率、活跃等报表行为;

项目框架

技术选型

 

Hadoop集群 端口号、配置文件、JDK、读写流程

采集:
方式一: log日志--->flume--->kafka(API)--->hdfs; 方式二: Logstash(读取日志)-->ELK(存储查询)全文检索引擎-sqoop
DataX导数据;  mysql->sqoop

存储:mysql(存储业务--分析结果) ;ES(存、查都很快)<---->HBase(存快,分析慢); S3

计算:Tez(分析hive中指标)&hive; Flink--Spark

查询:Presto,Impala,Kylin


系统架构图:

日志文件|mysql数据表---分别由flume|sqoop处理--分别交给-->kafka| HDFS
由Yarn统一调度
Hive| Presto负责数据查询;
Azkaban任务调度器
最后可视化;

系统数据流程:

Web/App埋点行为数据->log日志服务器(友盟-第三方日志服务器)->logFile格式->Flume生产-->kafka(kafka(相当于路由池)可以接实时数据、es等)--flume消费-->HDFS
业务交互-->mysql(业务服务器-->Nginx实现负载均衡)->sqoop-->>hdfs--->hive数仓-->把结果存储到mysql

框架版本选型 产品          版本 Hadoop         2.7.2 Flume          1.7.0 Kafka        0.11.0.2 Kafka Manager   1.3.3.22 Hive        1.2.1 Sqoop        1.4.6 MySQL         5.6.24 Azkaban      2.5.0 Java         1.8 Zookeeper      3.4.10 Presto        0.189 集群资源规划设计          服务器hadoop101 服务器hadoop102 服务器hadoop103 HDFS         NameNode      DataNode    DataNode     
            DataNode                SecondaryNameNode Yarn        NodeManager Resourcemanager   NodeManager
                        NodeManager Zookeeper      Zookeeper Zookeeper      Zookeeper Flume(采集日志)    Flume      Flume Kafka         Kafka     Kafka         Kafka Flume(消费Kafka)                    Flume Hive          Hive MySQL         MySQL Presto         Presto

数据生成模块

埋点数据:
ap(产品字段如多个app)
①公共字段
cm(公共字段基本所有安卓手机都包含的字段); cm公共字段;json对象
et事件; et事件字段:json数组

②业务字段(埋点上报的字段,有具体的业务类型)

 事件日志的设计:

 ①商品列表页(loading)

action            动作:开始加载=1,加载成功=2,加载失败=3
loading_time    加载时长:计算下拉开始到接口返回数据的时间,(开始加载报0,加载成功或加载失败才上报时间)
loading_way        加载类型:1-读取缓存,2-从接口拉新数;(加载成功才上报加载类型)
extend1            扩展字段 Extend1
extend2            扩展字段 Extend2
type            加载类型:自动加载=1,用户下拽加载=2,底部加载=3(底部条触发点击底部提示条/点击返回顶部加载)
type1            加载失败码:把加载失败状态码报回来(报空为加载成功,没有失败)
View Code

②商品点击(display)

action    动作:曝光商品=1,点击商品=2,
goodsid    商品ID(服务端下发的ID)
place    顺序(第几条商品,第一条为0,第二条为1,如此类推)
extend1    曝光类型:1 - 首次曝光 2-重复曝光(没有使用)
category    分类ID(服务端定义的分类ID)
View Code

③商品详情页(newsdetail)详情页从哪来

entry            页面入口来源:应用首页=1、push=2、详情页        
推荐阅读
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • 这个问题困扰了我两天,卸载Dr.COM客户端(我们学校上网要装这个客户端登陆服务器,以后只能在网页里输入用户名和密码了),问题解决了。问题的现象:在实验室机台式机上安装openfire和sp ... [详细]
  • springboot基于redis配置session共享项目环境配置pom.xml引入依赖application.properties配置Cookie序列化(高版本不需要)测试启 ... [详细]
  • 你知道Kafka和Redis的各自优缺点吗?一文带你优化选择,不走弯路 ... [详细]
  • 本系列内容:Kafka环境搭建与测试Python生产者消费者测试Spark接收Kafka消息处理,然后回传到KafkaFlask引入消费者WebSocket实时显示版本:spark ... [详细]
  • LeetCode笔记:剑指Offer 41. 数据流中的中位数(Java、堆、优先队列、知识点)
    本文介绍了LeetCode剑指Offer 41题的解题思路和代码实现,主要涉及了Java中的优先队列和堆排序的知识点。优先队列是Queue接口的实现,可以对其中的元素进行排序,采用小顶堆的方式进行排序。本文还介绍了Java中queue的offer、poll、add、remove、element、peek等方法的区别和用法。 ... [详细]
  • C语言注释工具及快捷键,删除C语言注释工具的实现思路
    本文介绍了C语言中注释的两种方式以及注释的作用,提供了删除C语言注释的工具实现思路,并分享了C语言中注释的快捷键操作方法。 ... [详细]
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • 判断数组是否全为0_连续子数组的最大和的解题思路及代码方法一_动态规划
    本文介绍了判断数组是否全为0以及求解连续子数组的最大和的解题思路及代码方法一,即动态规划。通过动态规划的方法,可以找出连续子数组的最大和,具体思路是尽量选择正数的部分,遇到负数则不选择进去,遇到正数则保留并继续考察。本文给出了状态定义和状态转移方程,并提供了具体的代码实现。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • 什么是大数据lambda架构
    一、什么是Lambda架构Lambda架构由Storm的作者[NathanMarz]提出,根据维基百科的定义,Lambda架构的设计是为了在处理大规模数 ... [详细]
  • Kylin 单节点安装
    软件环境Hadoop:2.7,3.1(sincev2.5)Hive:0.13-1.2.1HBase:1.1,2.0(sincev2.5)Spark(optional)2.3.0K ... [详细]
  • IamtryingtolearnabouttheELKstack(ElasticSearch,LogstashandKibana).Inanefforttogets ... [详细]
  • Logstash之TCP插件
    TCP是一种网络传输控制协议,很多公司的数据不一定是在本地的,而是在传承网络的;这个时候使用TCP简历连接后,通信双王就可以 ... [详细]
author-avatar
史玥Zaira_717
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有